package com.bfly.mall.system.service;

import com.bfly.core.base.service.IBaseService;
import com.bfly.mall.system.dto.*;
import com.bfly.mall.system.entity.*;

import java.util.List;

/**
 * @author 长沙商脉科技有限公司
 * @date 2020/9/19 12:29
 */
public interface ISysConfigService extends IBaseService<SysConfig, Integer> {

    /**
     * 获得微信小程序配置信息
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/9/18 11:21
     */
    WXMiniProConfigDTO getWxMiniProConfig();

    /**
     * 获得微信公众号配置
     * @author 长沙商脉科技有限公司
     * @date 2020/12/17 22:24
     */
    WXMPConfigDTO getWxMpConfig();

    /**
     * 获得微信支付配置
     * @author 长沙商脉科技有限公司
     * @date 2020/12/17 22:24
     */
    WXPayConfigDTO getWxPayConfig();

    /**
     * 获得订单配置
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/9/18 13:59
     */
    OrderConfigDTO getOrderConfig();

    /**
     * 水印配置
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/9/19 11:34
     */
    WaterMarkDTO getWaterMarkConfig();

    /**
     * 系统参数配置
     * @author 长沙商脉科技有限公司
     * @date 2020/12/9 23:46
     */
    SystemConfigDTO getSystemConfig();

    /**
     * 根据类型获得配置
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/9/18 10:45
     */
    List<SysConfig> getConfig(int type);

    /**
     * 新增或编辑配置
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/9/18 10:46
     */
    void merge(int type, List<SysConfig> configs);
}
